iT邦幫忙

2026 iThome 鐵人賽

DAY 1
0
Claude AI

一個人的機房:用 Claude 建置 AI 機房系列 第 1

DAY 01 一個人的機房:用 Claude 建置 AI 機房

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260824/20181284mKGtdCkB1p.png

1962,老頭一個,中文系畢業,愛玩電腦。感謝 AI 時代的來臨,許多過往遙不可及的夢想,可以逐步實現。

先講清楚:我沒有要發表程式碼, skill,或任何密技,我只是把自己走過的路,紀錄一下,提供給大家參考。希望能讓大家讀過後,產生:喔,原來可以這樣! 的感覺。

我的系統裡有四台實體的虛擬化主機 ,跑著三十幾台虛擬機。上面裝了我自己架的 LLM伺服器(跑在本機的顯示卡上)、檢索 (RAG) 與文字辨識服務 (OCR) 、語音合成與辨識、郵件伺服器、客戶關係管理系統,還有名片辨識和影片渲染平台。對外的網域與網域名稱伺服器也是親手手刻的。

這些每天都認真的在工作。維運它們的,就我一個。沒有站台工程師,沒有值班表,我還得去上自己的正職。

這些,全靠 Claude Code 的支持。

這個系列從頭到尾都在用同一個工具:一個跑在終端機裡的程式設計代理人,從 Claude Code 4.5、4.7 到 5.0 ,從 sonnet、opus 到 fable。它可以直接讀寫檔案、執行指令,遠端連線到其他機器操作指令。我不把它當萬能的神明,我把它當同事。差別在於我交出去的任務變了——以前是「幫我寫一段程式」,寫完自己貼上去;現在是把整台機器、整個服務、整套備份策略交給它,我在旁邊看著、驗證,在它做錯的時候把它拉回來。

這個系列要記錄這段旅程。三十天,每天一篇,不是教學文,是實錄。每一篇都會附上實際下的prompt原文、做出來的東西,以及那天翻車的事件。我們會從網域、固定位址、虛擬化這些地基開始,中段講大語言模型 LLM、語音、檢索辨識、控制台與安全防護,後段串起文件庫、知識庫、寫作、代理人、通訊軟體、郵件、客戶關係、名片、收發件、語音客服,以及 CRM的 化。

我用 Claude Code 的方式:給目標,而非步驟。不說「先執行這個指令再執行那個」,而是「建立一個 openwrt 虛擬機,IP xxxx ,做為對外的 router 」。每台機器都有一份專屬的筆記,工具在動手之前會先讀那台機器的筆記,知道這台的架構及注意事項。這份筆記是長期累積的,不是每次從零開始。我隨時驗證。工具做完不等於做對,所有結果我都自己再查一次。

一份長期記憶最危險的地方,不是漏記了甚麼,而是它過時但看起來很篤定。所以,我現在的規則是:記憶只能當線索,不能當事實。凡是牽涉到檔案、資料表、參數名稱的,一律要重新查證過才能寫進結論。

這些,都不是一開始就設計好的,也不是模型變聰明了,是把踩過的坑,一條一條交給它保管。

一件被寫進記憶的事:我的機隊沒有一台走預設的埠 (port) 。每一台的埠號還都不一樣。預設埠 (22、25、80、443),一天到晚有人在試密碼,fail2ban 抓到一大串。但也因為 port 設定都不一樣,我自己也記不住。所以那份速查表是我最早寫進記憶的東西之一:哪一台走哪個埠、密碼要去哪裡查,claude code 現在連線之前一定先查表,不會自己試,更不會自己猜。猜錯的代價不是連不上,是可能連到另一台機器,然後在錯的機器上執行對的指令。當然,多餘的猜測,會浪費 token。

規則要放在哪裡? 專案規則檔 CLAUDE.md。Claude Code 會自動讀取兩層規則檔:一層是全域的、所有專案都適用的;一層是每個專案自己的。一開始我什麼都想寫進去,結果那個檔案越長越大,而每次對話它都要先讀一遍 —— 等於每次都在花錢重讀一堆這次用不到的東西。後來我把它砍到只剩「跨專案而且不顯而易見」的規則。判斷標準很簡單:如果這件事只在某一台機器成立,那它屬於那台機器的筆記,不屬於全域規則。我全域那份現在只剩下四件事:
用中文回我、直接執行不要每步問我、憑證一律去查不准猜、細節去讀記憶不要塞在這裡。

Claude Code 可以自訂「技能」(skill),也可以叫出專門的子代理來處理特定的活。我一開始很興奮,想把每個常做的事都包成一個技能。後來發現大部分情況下,一句話能觸發的事情,寫成一份記憶就夠了,不必做成工具。真正值得做成獨立子代理的,是那種需要自己的工作目錄、自己的一套規則,而且會跑很久的活 —— 例如整理我的知識庫。這個判斷標準是:需不需要隔離。需要隔離就做成子代理,不需要,只是要它記得的,就寫成記憶。

什麼不該寫進記憶?記憶不是越多越好。有三種東西我不寫:程式碼倉庫(git)本身已經記錄的(架構、改過什麼、提交歷史 —— 去讀原始碼就有,寫了只是重複);只對這次對話有意義的(這次要改哪一行,講完就沒用了);還有那些會過期的狀態(誰現在正在跑、磁碟現在用了多少)。記憶要放的是「非顯而易見、而且下次還會用到」的東西。判斷標準是問自己一句:三個月後還會需要它嗎?不會的話,講完就讓它走。

有關系統建立,我現在是這樣做:
給目標及需求,用fable做規劃,叫他出相關 md 檔及 tasks,讓sonnet執行,fable負責驗證稽核。

明天,我們從最基礎的網域與固定位址開始。


下一篇
Day 02 網域 DNS 與固定 IP
系列文
一個人的機房:用 Claude 建置 AI 機房7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言